﻿#include <stdio.h>
int main()
{
	int num1 = -3;
	int num2 = 5;
	printf("%d\n", num1 & num2);
	printf("%d\n", num1 | num2);
	printf("%d\n", num1 ^ num2);
	printf("%d\n", ~0);
	return 0;
}//位操作符操作数必须是整数



//编写代码实现：求⼀个整数存储在内存中的⼆进制中1的个数
#include <stdio.h>
int main()
{
	int num = 10;
	int count = 0;//计数 
	while (num)
	{
		if (num % 2 == 1)
			count++;
		num = num / 2;
	}
	printf("⼆进制中1的个数 = %d\n", count);
	return 0;
}//方法一



#include <stdio.h>
int main()
{
	int num = -1;
	int i = 0;
	int count = 0;//计数 
	for (i = 0; i < 32; i++)
	{
		if (num & (1 << i))
			count++;
	}
	printf("⼆进制中1的个数 = %d\n", count);
	return 0;
}//方法二